<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core">



    <ui:composition template="./../templates/internal.xhtml">

        <ui:define name="top">
            <h:form id="topSenha">
                <p:growl id="mensagem" autoUpdate="true" sticky="false" life="3000"/>
                <p:menubar>
                    <p:submenu label="Menu">  
                        <p:menuitem value="Home"  action="./../publico/home.xhtml"/>  
                        <p:menuitem value="Logout" action="#{autenticador.registraSaida}" immediate="true"  />
                    </p:submenu>
                    <f:facet name="options">  
                        <b>Logado: #{utilBean.userName} </b> 
                        <p:commandButton  value="Logout" action="#{autenticador.registraSaida}" immediate="true" />
                    </f:facet>    
                </p:menubar>
                <div id="imageTop">      
                    <p:imageSwitch effect="turnDown" styleClass="painel" slideshowSpeed="9000">  
                        <ui:repeat value="#{utilBean.images}" var="image">  
                            <p:graphicImage value="./../resources/css/imagens/#{image}" width="100%" height="100"/>  
                        </ui:repeat>  
                    </p:imageSwitch>  
                </div>     
            </h:form>
        </ui:define>

        <ui:define name="content">
            <h:form id="resultado">
                <div id="contentSenha">      
                    <h:outputScript library="js" name="mascaras.js" />
                    <p:growl id="mensagem" autoUpdate="true" sticky="false" life="3000"/>


                    <p:panelGrid id="dados" columns="4" rendered="true" styleClass="cadastroAgenda">  
                        <f:facet name="header">Usuarios</f:facet>             

                        <f:facet name="footer">              
                            <p:commandButton value="Cadastrar" oncomplete="cadastroDialog.show()" update=":cadastroUser:cadastro"  styleClass="tamanhoBotao"/>
                            <p:commandButton value="Consultar" action="#{usuarioBean.listaUsuarioPerfil}"  update=":resultado:list" styleClass="tamanhoBotao"/>
                            <p:commandButton value="Limpar" action="#{usuarioBean.usuarioRN.limparCampos}" update=":resultado:dados" styleClass="tamanhoBotao"/>
                            <p:commandButton value="Alterar" update=":update:alterar" action="#{usuarioBean.btnAlterarUsuario}"  oncomplete="if(args.sucesso == true){updateDialog.show()}" styleClass="tamanhoBotao"/>
                            <p:commandButton value="Limpar listar" action="#{usuarioBean.limpaLista}" update=":resultado:list" style="padding-left:10px;"/>
                            <p:commandButton value="Excluir" action="#{usuarioBean.deleteUsuario}" update=":resultado:list" style="padding-left:10px;"/>
                        </f:facet>
                    </p:panelGrid>  
                </div>

                <div id="resultadoAgenda">
                    <p:dataTable var="item" value="#{usuarioBean.perfilModel}" id="list"  paginatorPosition="top"  
                                 selectionMode="single" rowKey="#{item.id}"  paginator="true" emptyMessage="Sem retorno de consulta"  
                                 resizableColumns="true" rows="" selection="#{usuarioBean.usuarioSelected}"   scrollable="true" scrollWidth="100%" scrollHeight="280"
                                 paginatorTemplate="{PreviousPageLink} {CurrentPageReport} {NextPageLink} 
                                 {RowsPerPageDropdown}" rowsPerPageTemplate="25,50,100,150,200" >  

                        <f:facet name="header">Lista de usuarios  com : #{usuarioBean.usuarioRN.messagemCount}</f:facet>  

                        <p:column headerText="Id" sortBy="#{item.rowIndex}" style="text-align: center">  
                            #{item.id}
                        </p:column>  
                        <p:column headerText="Nome" sortBy="#{item.usuario.nome}" style="text-align: center">  
                            #{item.usuario.nome}
                        </p:column>  
                        <p:column headerText="Cadastro" sortBy="#{item.enableCadastro}" style="text-align: center">  
                            #{item.enableCadastro}
                        </p:column>  
                        <p:column headerText="Empresa" sortBy="#{item.enableEmpresa}" style="text-align: center">  
                            #{item.enableEmpresa}
                        </p:column>  
                        <p:column headerText="Feramentas" sortBy="#{item.enableFerramentas}" style="text-align: center">  
                            #{item.enableFerramentas}
                        </p:column>  
                        <p:column headerText="Relatórios" sortBy="#{item.enableRelatorios}" style="text-align: center">  
                            #{item.enableRelatorios}
                        </p:column>  
                        <p:column headerText="Tarifas" sortBy="#{item.enableTarifas}" style="text-align: center">  
                            #{item.enableTarifas}
                        </p:column>  
                        <p:column headerText="Usuario" sortBy="#{item.enableUsuario}" style="text-align: center">  
                            #{item.enableUsuario}
                        </p:column>               
                    </p:dataTable>   
                </div>
            </h:form>

            <h:form id="cadastroUser">
                <p:dialog  widgetVar="cadastroDialog" header="Cadastro de usuário" showEffect="explode" hideEffect="fade" modal="true" 
                           resizable="false" closable="true" style="position: absolute;top: 100px;">
                    <p:growl id="mensagem" autoUpdate="true" sticky="false" life="3000"/>

                    <p:panelGrid id="cadastro" columns="2" >  
                        <p:outputLabel for="user01" value="Usuário" style="font-weight: bold"></p:outputLabel>
                        <p:inputText id="user01" value="#{usuarioBean.usuarioRN.usuario.nome}"/>
                        <p:outputLabel for="user02" value="Senha" style="font-weight: bold"></p:outputLabel>
                        <p:password id="user02" value="#{usuarioBean.usuarioRN.usuario.password}"  feedback="true"  required="true"/>
                        <p:outputLabel for="user03" value="Confirma senha" style="font-weight: bold"></p:outputLabel>
                        <p:password id="user03" value="#{usuarioBean.usuarioRN.usuario.confirmPassword}" feedback="true"  required="true"/>
                          
                        <p:outputLabel for="userEmpresa" value="Empresa" style="font-weight: bold"></p:outputLabel>
                        <h:selectOneMenu  id="userEmpresa" value="#{usuarioBean.usuarioRN.usuario.empresa}" converter="empresaConverter"  style="width:160px;height:25px" >  
                            <f:selectItem itemLabel="Nenhum " itemValue="" />  
                            <f:selectItems value="#{ramalBean.ramalRN.carregaEmpresa()}" var="perf" itemValue="#{perf.id}" itemLabel="#{perf.id} - #{perf.razaoSocial}"/> 
                        </h:selectOneMenu >  

                        <p:outputLabel for="user04" value="Adminstrador" style="font-weight: bold"></p:outputLabel>
                        <p:selectBooleanCheckbox id="user04" value="#{usuarioBean.usuarioRN.usuario.administrador}">
                            <p:ajax update=":cadastroUser:user04" listener="#{usuarioBean.addMessage}"/> 
                        </p:selectBooleanCheckbox>  

                        <p:tree value="#{usuarioBean.root}" var="node" id="checkboxTree"  selectionMode="checkbox" selection="#{usuarioBean.selectedNodes}">  
                            <p:ajax event="select" listener="#{usuarioBean.onNodeSelect}" /> 
                            <p:ajax event="unselect" listener="#{usuarioBean.onNodeUnselect}" />  

                            <p:treeNode >  
                                <h:outputText value="#{node}" />  
                            </p:treeNode>  
                        </p:tree>  
                        <f:facet name="footer">             
                            <p:commandButton value="Salvar" action="#{usuarioBean.salvaUsuario}" update=":resultado:list" />
                            <p:commandButton value="Fechar" oncomplete="cadastroDialog.hide()" />
                        </f:facet>
                    </p:panelGrid>
                </p:dialog>
            </h:form>

            <h:form id="update">
                <p:dialog  widgetVar="updateDialog" header="Alteração de senha" showEffect="explode" hideEffect="fade" modal="true" 
                           width="480" resizable="false" closable="true" style="position: absolute;top: 100px;">

                    <p:panelGrid id="alterar" columns="3" >  
                        <p:outputLabel value="Descrição" style="font-weight: bold"></p:outputLabel>
                        <p:outputLabel value="Valor atual" style="font-weight: bold"></p:outputLabel>
                        <p:outputLabel value="Novo valor" style="font-weight: bold"></p:outputLabel>

                        <p:outputLabel value="Descrição" />  
                        <h:outputText value="#{usuarioBean.usuarioSelected.nome}"/>
                        <p:inputText value="#{usuarioBean.usuarioRN.usuario.nome}"/>



                        <f:facet name="footer">             
                            <p:commandButton value="Alterar" action="#{usuarioBean.alteraUsuarioRamal}" update=":resultado:list"  oncomplete="updateDialog.hide()" />
                            <p:commandButton value="Fechar" oncomplete="updateDialog.hide()" />

                        </f:facet>

                    </p:panelGrid>
                </p:dialog>
            </h:form>
        </ui:define>
        <ui:define name="bottom_internal">
        </ui:define>
    </ui:composition>
</html>
